1. Technical Field
The present invention is directed to the field of computer-human interfaces. More specifically, the present invention is directed to computer-human interface design applications.
2. Description of Related Art
Businesses store information in many different formats. For example, documentary information may be stored in a word-processing document and accounting information may be stored in a spreadsheet document. In order to create digital documents such as these, one would typically use a software application. Software companies have developed applications or tools to generate these documents and those tools fall into three main classes: (1) Electronic Publishing Applications, (2) Web Content Creation Applications and (3) Web Application Development Environments.
An example of an Electronic Publishing software application is Microsoft Word, available from Microsoft Corporation, Redmond, Wash. that creates a Rich Text Format (RTF) document and other formats. This application can construct digital documents containing various content types. An example of a Web Content Creation Application is Macromedia Dreamweaver, available from Macromedia, San Francisco, Calif. that creates a Hypertext Markup Language (HTML) document. This application can construct digital documents containing various content types. An example of a Web Application Development Environment is Macromedia Dreamweaver UltraDev, available from Macromedia, San Francisco, Calif. that creates a Web application. This application can construct digital documents containing various content types and active Web content.
Sometimes, a user may wish to implement functionality that is not supported by a particular software application. Many software applications allow the user to extend the application to address individual user needs or enable functionality unforeseen at the time the application was developed. For example, Microsoft's Front Page application allows a user to insert a Design-Time Control in a HTML document. Design-Time Controls (which are available from Microsoft Corporation have been created to assist the user in authoring web content by automatically generating HTML text and/or computer-executable code. For example, a “checkbox” Design-Time Control may be inserted into a Web page document during its creation. The graphic representation of the checkbox control is displayed so that the user can more easily integrate the functionality of the checkbox control with the rest of the Web page document. The user can select the graphic representation in order to edit the checkbox's properties, such as to change the size or label properties of the checkbox. The checkbox Design-Time Control generates HTML text code (or other computer-executable code) that corresponds to the properties set by the user. In this way, an extensibility interface such as Design-Time Controls allows for the enhancement of the application with plug-in components that assist the user in digital document and active content creation.
An advantage of extensible applications and clearly defined extensibility interfaces is that different software vendors can create components that plug into the same software application. This is a great benefit to the user because he/she benefits from a synergistic effect among software components from various vendors. From the perspective of the component vendor, a significant stumbling block exists. Many of these extensible software applications have different extensibility interfaces. This means that a single implementation of a software vendor's plug-in components will not function with all extensible applications. For example, if a vendor creates a checkbox Design-Time Control, it will function in Microsoft Front Page and SoftQuad HoTMetaL Pro because they both support the Design-Time Control's extensibility interface. But this same checkbox Design-Time Control will not function in Macromedia Dreamweaver. The end result is that software component developers cannot develop efficiently because they have to create a different version of their components for each unique extensibility interface.